perm filename WAVE.FAI[TMP,LCS]1 blob
sn#166886 filedate 1975-06-26 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00005 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 TITLE WAVE
C00004 00003 L101: SETOM X#
C00006 00004 L6: JSA 16,DPYOUT
C00008 00005 ININT: SETZ
C00010 ENDMK
C⊗;
TITLE WAVE
EXTERNAL TYPLOC,DDCLR,DPYSET,FASTIN
EXTERNAL DPYOUT,GETFIL,AVECT,ALINE
A←1 ↔ B←2 ↔ C←3 ↔ K←4 ↔ LPDL←←69 ↔ P←17
DEFINE FIXX(N)
< JUMPGE N,.+5
MOVNS N
FIX N,233000
MOVNS N
CAIA
FIX N,233000 >
DEFINE FLOAT(N)
< TLC N,232000
FADR N,N >
BEG: MOVE P,[-LPDL,,PDL-1]
JSA 16,TYPLOC
[-=260]
[-=512]
CLRBFI
OUTSTR [ASCIZ/ TYPE FILE NAME /]
PUSHJ P,INA5
SKIPN A
MOVE A,[ASCIZ/MUSAA/]
MOVEM A,NM#
HRRZI A,=512
HRRZM A,INC#
L8: CLRBFI
OUTSTR [ASCIZ/ TYPE NUM OF SAMPLES /]
HRRZI A,=1024
HRRZM A,NZ#
INCHWL B
PUSHJ P,ININT
MOVEM J#
SETZ
INCHRS B
CAIA
PUSHJ P,ININT
IDIVI 3
MOVEM NY#
SKIPE B,J
MOVEM B,INC
JSA 16,GETFIL
NM
SETZM JCNT#
HRRZI A,1
HRRZM A,KCNT#
SETZM JZ#
L11: HRRZI A,1
HRRZM A,L#
MOVE A,INC
MOVEM A,LX#
L100: JSA 16,FASTIN
WD
[=1024]
HRRZI A,=1024
ADDB A,NZ
CAMGE A,NY
JRST L100
SKIPN NY
JRST L101
SUBI A,=1024
IMULI A,3
MOVEM A,KCNT
SOJ A,
MOVEM A,JCNT
L101: SETOM X#
SETZ K,
MOVE A,[POINT 12,WD]
L2: SKIPE WD(K)
SETZM X
ILDB 0,A
HRRZM 0,FW(K)
ILDB 0,A
HRRZM 0,FW+1(K)
ILDB 0,A
HRRZM 0,FW+2(K)
ADDI K,3
CAIGE K,=3072
JRST L2
SKIPE X
JRST L8
L1: JSA 16,DDCLR
MOVE A,[=1000.0]
MOVE B,INC
FLOAT(B)
FDVR A,B
MOVEM A,X
L40: JSA 16,DPYSET
[1]
DP
[=4000]
JSA 16,ALINE
NFHD
[=409]
NFHD
[-=409]
JSA 16,ALINE
[=500]
ZER
NFHD
ZER
L10: MOVE A,[-=500.0]
MOVEM A,Z#
MOVE K,L
L4: AOS JCNT
MOVE A,FW-1(K)
CAILE A,=2047
SUBI A,=4096
MOVEM A,JZ
IDIVI A,5
MOVEM A,JY#
MOVE A,Z
FIXX(A)
MOVEM A,JX#
JSA 16,AVECT
JX
JY
CAIN K,=3072
JRST L6
MOVE A,X
FADM A,Z
CAMGE K,LX
AOJA K,L4
L6: JSA 16,DPYOUT
[1]
L31: OUTSTR [ASCIZ/ SMPL /]
MOVE KCNT
PUSHJ P,OUTINT
OUTSTR [ASCIZ/ TO /]
MOVE JCNT
PUSHJ P,OUTINT
OUTSTR [ASCIZ/
/]
L55: MOVE A,J
AOJ A,
JUMPE A,L7
AOJ A,
JUMPE A,L12
L5: CLRBFI
INCHWL B
PUSHJ P,ININT
MOVEM J
SETZ
INCHRS B
CAIA
PUSHJ P,ININT
MOVEM NX
HRRZI A,=3072
CAMGE A,J
MOVEM A,J
L77: SKIPLE A,J
MOVEM A,INC
ADDI A,2
JUMPGE A,L7
JRST L9
L12: MOVE A,L
ADD A,NX#
MOVEM A,LX
MOVE A,KCNT
ADD A,NX
SOJ A,
MOVEM A,JCNT
JRST L7
L9: MOVE A,L
ADD A,J
MOVEM A,LX
MOVE A,KCNT
ADD A,J
SOJ A,
MOVEM A,JCNT
SKIPGE LX
SETZM LX
L7: MOVE A,LX
AOJ A,
MOVEM A,L
MOVE A,INC
ADDM A,LX
MOVE A,JCNT
AOJ A,
MOVEM A,KCNT
MOVE A,L
CAILE A,=3072
JRST L11
JRST L1
ININT: SETZ
SETZ C,
CAIN B,"-"
JRST MIN
RECUR: CAIL B,60
CAILE B,71
JRST SYNE
IMULI =10
ADDI -60(B)
GTCHR: INCHRS B
CAIA
JRST RECUR
SYNE: SKIPGE C
MOVNS
POPJ P,
MIN: SETO C,
JRST GTCHR
OUTINT: HRRZI B,4
JUMPE OUTZ
IDIVI =10
ADDI A,60
HRRZM A,BLK1(B)
SOJGE B,OUTINT+1
OCHR: OUTCHR BLK1+1(B)
CAIGE B,3
AOJA B,OCHR
POPJ P,
OUTZ: CAIL B,4
HRLZI B,300000
JRST OCHR
INA5: SETZ A,
HRLZI C,700
INCHWL
CAIE 15
CAIN 12
POPJ P,
IDPB C
TRNN A,177
INCHRS
POPJ P,
JRST .-7
BLK1: BLOCK 5
DP: 0
WD: BLOCK =1024
FW: BLOCK =1024*3
NFHD: -=500
ZER: 0
PDL: BLOCK LPDL
END BEG